package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.RoomBean;

import java.util.List;

/**
 * 房间业务层接口
 */
public interface IRoomService {
    /**
     * 动态条件模糊查询房间，同时统计每个房间的已住人数
     * @param pageNO 页码
     * @param status 房间状态
     * @param address 房间地址
     * @param type 房间类型
     * @param isLive 是否可住
     * @return 房间分页对象
     */
    public IPage<RoomBean> findByItem(Integer pageNO, String status, String address, String type, String isLive);

    /**
     * 根据性别查询可住房间集合
     * @param sex 性别
     * @return 房间集合
     */
    public List<RoomBean> findBySex(String sex);

    /**
     * 按id删除房间,统计房间的已住人数，如果为0则先删除房间设施维护信息，再完成房间的删除，返回true
     * 如果不为0，返回false
     * @param roomId 房间id
     * @return 删除是否成功
     */
    public boolean delRoom(Integer roomId);

    /**
     * 根据房间id查询房间的信息，同时统计该房间的已住人数，同时显示该房间所住学生信息，在学生信息中，需要查询学生所在班级名称
     * @param roomId 房间id
     * @return 房间对象
     */
    public RoomBean findById(Integer roomId);

    /**
     * 添加房间
     * 房间地址，可容纳人数，房间类型
     * @param room 房间对象
     */
    public void addRoom(RoomBean room);


}
